OE update welcome 1

Back to index page OE documentation



Quick Overview

Welcome to the Euphoria programming language!

Euphoria is a programming language with the following advantages over conventional languages:

_tom 
 
The following is too long, too technical. 
 
suggestion catchphase simpler | smarter | speedier 
 
simpler... easier to learn, easier to program 
 
smarter... do both, interpret and compile your apps 
 
speedier... always fast, faster than your popular language 

Euphoric
A remarkably simple, flexible, powerful language definition that is easy to learn and use.
Dynamic
Variables grow or shrink without the programmer having to worry about allocating and freeing chunks of memory. Objects of any size can be assigned to an element of a Euphoria sequence (array).
Fast
A high-performance, state-of-the-art interpreter that's significantly faster than conventional interpreters such as Perl and Python.
Compiles
An optimizing Euphoria To C Translator, that can boost your speed even further, often by a factor of 2x to 5x versus the already-fast interpreter. You can make a single, stand-alone executable file from your program.
Safe
Extensive run-time checking for: out-of-bounds subscripts, uninitialized variables, bad parameter values for library routines, illegal value assigned to a variable and many more. There are no mysterious machine exceptions--you will always get a full English description of any problem that occurs with your program at run-time, along with a call-stack trace-back and a dump of all of your variable values. Programs can be debugged quickly, easily and more thoroughly.
High level
Features of the underlying hardware are completely hidden. Programs are not aware of word-lengths, underlying bit-level representation of values, byte-order etc.
Debugger
A full-screen source debugger and an execution profiler are included.
Editor
A full-screen, multi-file editor is also included. On a color monitor, the editor displays Euphoria programs in multiple colors, to highlight comments, reserved words, built-in functions, strings, and level of nesting of brackets. It optionally performs auto-completion of statements, saving you typing effort and reducing syntax errors. This editor is written in Euphoria, and the source code is provided to you without restrictions. You are free to modify it, add features, and redistribute it as you wish.
Multi-platform
Euphoria programs run under Windows, Linux, OS/X, FreeBSD, NetBSD, OpenBSD and can be easily ported to any platform supporting GCC. ; Stand-alone : You can make a single, stand-alone executable file from your program.
Generic
Euphoria routines are naturally generic. The example program below shows a single routine that will sort any type of data--integers, floating-point numbers, strings etc. Euphoria is not an "object-oriented" language, yet it achieves many of the benefits of these languages in a much simpler way.
Free
Euphoria is completely free and open source.
_tom 
 
start with simplicity 
 
? "hello" 
 
{72,101,108,108,111} -- may not be what the newcomer is expecting! - Irv 

_tom 
 
insert pictures of euGTK in action  
 
This page too plain, needs 2 images: 1 text mode, 1 gui to show capabilities - Irv 
 

include std/console.e 
sequence original_list 
 
function merge_sort(sequence x) 
-- put x into ascending order using a recursive merge sort 
    integer n, mid 
    sequence merged, a, b 
 
    n = length(x) 
    if n = 0 or n = 1 then 
        return x  -- trivial case 
    end if 
 
    mid = floor(n/2) 
 

continued next page 
Not Categorized, Please Help

Search



Quick Links

User menu

Not signed in.

Misc Menu